package com.cskaoyan.service.promote;

import com.cskaoyan.bean.promote.Coupon;
import com.cskaoyan.bean.promote.base.PromotePageData;
import com.cskaoyan.bean.promote.base.PromoteParam;
import com.cskaoyan.bean.promote.bo.CouponListSearchBO;
import com.cskaoyan.bean.promote.bo.CouponUserListSearchBO;
import com.cskaoyan.bean.promote.exception.AddCouponException;
import com.cskaoyan.bean.promote.exception.DeleteCouponException;
import com.cskaoyan.bean.promote.exception.GetCouponException;
import com.cskaoyan.bean.promote.exception.UpdateCouponException;

/**
 * @author liXiaoFei
 * @date 2021/10/18 17:09
 */
public interface CouponService {
    PromotePageData queryCouponList(PromoteParam promoteParam, CouponListSearchBO couponListSearchBO);

    Coupon addCoupon(Coupon coupon) throws AddCouponException;

    void deleteCoupon(Coupon coupon) throws DeleteCouponException;

    Coupon getCouponById(Integer id) throws GetCouponException;

    PromotePageData queryCouponUserList( PromoteParam promoteParam,CouponUserListSearchBO couponUserListSearchBO);

    Coupon updateCoupon(Coupon coupon) throws UpdateCouponException;

}
